'use strict'

const Koa = require('koa')
const bodyParser = require('koa-bodyparser')
const cors = require('koa2-cors')
const helmet = require("koa-helmet")

const { logInfo } = require('./src/middlewares/logger')
const corsConfig = require('./src/middlewares/cors')
const { error, success } = require('./src/middlewares/response')
const { publicRouter, privateRouter } = require('./src/router/index')

console.log("----------------------启动中----------------------")
const app = new Koa()

app.use(logInfo)              // 日志管理

app.use(error)                // 统一异常处理管理

app.use(bodyParser())

app.use(helmet())             // 网络安全中间件

app.use(cors(corsConfig))     // cors管理

app.use(publicRouter.routes(), publicRouter.allowedMethods()) // 公共路由
app.use(privateRouter.routes(), privateRouter.allowedMethods()) // 私有路由

app.use(success)              // response正常响应管理


module.exports = app
